home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 65.zip
/
BS1 part 65
/
Caligari II v2.22.adf
/
Install
< prev
next >
Wrap
Text File
|
2018-01-29
|
24KB
|
570 lines
; Caligari Installation Script
; Version 1.0
; 15 Jan 1992
; by J.W. Lockhart and Michael Plitkins
; Copyright 1991 by Octree Software, Inc. and GVP, Inc.
;
; John gets credit for the original script which I hacked up in a
; few hours to work with Caligari2; thus I take credit for all
; of the nonsense. MMP
;
; Written for use with Commodore Install (Version 1.6)
;
; Please note: Novice mode is disabled in the icon tooltype for
; this script.
;
; History:
;
; 1.0 initial release
;
; set up Caligari vars
(set cal_dsk "Caligari2_disk1:") ; disk volume name
(set cal_dst (tackon @default-dest "Caligari")) ; Destination for utils.
(set cal_def (tackon @default-dest "Caligari")) ; default destination
(set cal_drv "Caligari2") ; note no ':'
(set cal_drv2 "Caligari2:")
(set cal_dskname1 "Caligari2 disk 1") ; sticky paper label
(set cal_volname1 "Caligari2_disk1") ; c:label
(set cal_dskname2 "Caligari2 disk 2") ; sticky paper label
(set cal_volname2 "Caligari2_disk2") ; c:label
(set cal_tmpfile "ram:caligari.asgns")
(set cal_renddi "Rend_di")
(set cal_rendnull "Rend_null")
(set cal_material "Materials")
(set cal_environ "Environments")
(set cal_texture "Textures")
(set cal_data "Caldata")
(set cal_scratch "Scratch")
(set cal_eurofont "eurofont")
(set vid_font "FONTS:video")
; Common Vars
(set archiver "lharc") ; de-archive utility
(set archPath (tackon cal_dsk "c")) ; where archiver lives
(set archDest "ram:") ; where to store copy of lharc
(set look_here "") ; where to look for s/w packages
(if (exists (tackon archPath archiver))
(
(run "copy " (tackon archPath archiver) " " archDest)
(set archPath archDest)
)
; else
(set archPath "") ; we can check this elsewhere
)
; Find out what to install
(if (askbool (prompt "\n\nWhat type of disk drives are in this System?\n")
(help "\nThe full version of Caligari2 can only be run from a hard"
"disk. If you wish to install Caligari2 on a floppy disk, "
"it will not be able to perform Broadcast renders. For "
"floppy based Caligari, two or more drives are necessary; the "
"internal boot drive for Workbench and at least one more "
"drive for the Caligari2 disk."
)
(default "Hard Disk(s)")
(choices "Hard Disk(s)" "2 or more Floppies"))
;;;;;;
;;;;;; Install to Hard Disk
;;;;;;
(
(set cal_def (tackon @default-dest "Caligari"))
(set cal_dst (askdir (prompt "Where shall I install the "
"Caligari2 disks?\n"
"Create a new drawer if you like.")
(help @askdir-help) (default cal_def)
)
)
; Create main directory if necessary...
(if (NOT (exists cal_dst)) (
(makedir cal_dst (prompt (cat "Creating" cal_dst))
(infos)
(help @makedir-help))
))
; Create CalData directory if necessary...
(if (NOT (exists (tackon cal_dst cal_data))) (
(makedir (tackon cal_dst cal_data) (prompt (cat "Creating" (tackon cal_dst cal_data)))
(help @makedir-help))
))
; Create Scratch directory if necessary...
(if (NOT (exists (tackon cal_dst cal_scratch))) (
(makedir (tackon cal_dst cal_scratch) (prompt (cat "Creating" (tackon cal_dst cal_scratch)))
(help @makedir-help))
))
; Create Materials directory if necessary...
(if (NOT (exists (tackon cal_dst cal_material))) (
(makedir (tackon cal_dst cal_material) (prompt (cat "Creating" (tackon cal_dst cal_material)))
(help @makedir-help))
))
; Create Textures directory if necessary...
(if (NOT (exists (tackon cal_dst cal_texture))) (
(makedir (tackon cal_dst cal_texture) (prompt (cat "Creating" (tackon cal_dst cal_texture)))
(help @makedir-help))
))
; Create Environments directory if necessary...
(if (NOT (exists (tackon cal_dst cal_environ))) (
(makedir (tackon cal_dst cal_environ) (prompt (cat "Creating" (tackon cal_dst cal_environ)))
(help @makedir-help))
))
; Create Rend_null directory if necessary...
(if (NOT (exists (tackon cal_dst cal_rendnull))) (
(makedir (tackon cal_dst cal_rendnull) (prompt (cat "Creating" (tackon cal_dst cal_rendnull)))
(help @makedir-help))
))
; Create Rend_di directory if necessary...
(if (NOT (exists (tackon cal_dst cal_renddi))) (
(makedir (tackon cal_dst cal_renddi) (prompt (cat "Creating" (tackon cal_dst cal_renddi)))
(help @makedir-help))
))
; Create eurofont directory if necessary...
(if (NOT (exists (tackon cal_dst cal_eurofont))) (
(makedir (tackon cal_dst cal_eurofont) (prompt (cat "Creating" (tackon cal_dst cal_eurofont)))
(help @makedir-help))
))
; Create fonts:video directory if necessary...
(if (NOT (exists vid_font)) (
(makedir vid_font (prompt (cat "Creating" vid_font))
(help @makedir-help))
))
; Assigns for user-startup / startup-sequence / temp execute file
; There are eleven of 'em...
(set cal_assigns (cat
".bra {\n"
".ket }\n"
"if exists \"" cal_dst "\"\n"
" assign Caligari: \"" cal_dst "\"\n"
" assign CalData: Caligari:CalData\n"
" assign CalScripts: Caligari:\n"
" assign CalScenes: Caligari:\n"
" assign CalRender: Caligari:\n"
" assign CalTexture: Caligari:Textures\n"
" assign CalEnviron: Caligari:Environments\n"
" assign CalMaterial: Caligari:Materials\n"
" assign CalScratch: Caligari:Scratch\n"
" assign RenditionDI: Caligari:Rend_DI\n"
" assign RenditionDD: Caligari:Rend_Null\n"
"endif\n"
))
; Don't try to assign stuff to directories that won't exist
; in pretend mode, though...
(if (not @pretend)
(
(textfile (dest cal_tmpfile)
(append cal_assigns)
(help @textfile-help)
(prompt "Creating temporary file for needed assigns"))
(execute cal_tmpfile
(prompt "Executing temporary file for needed assigns")
(help @execute-help))
))
(askdisk (prompt "Please insert disk 1, \n'" cal_dskname1 "'")
(dest cal_volname1)
(help @askdisk-help))
(working "\nUnpacking archive of\n"
"Caligari Executable")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname1 ":Caligari Caligari: *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname1 ":Caligari Caligari: *"))
; -mn means no confirmation messages or progress indicator.
)
(working "\nUnpacking archive of\n"
"Caligari Texture Maps")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname1 ":Textures CalTexture: *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname1 ":Textures CalTexture: *"))
; -mn means no confirmation messages or progress indicator.
)
(askdisk (prompt "Please insert disk 2, \n'" cal_dskname2 "'")
(dest cal_volname2)
(help @askdisk-help))
(working "\nUnpacking archive of\n"
"Caligari Environment Maps")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":Environments CalEnviron: *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":Environments CalEnviron: *"))
; -mn means no confirmation messages or progress indicator.
)
(working "\nUnpacking archive of\n"
"Caligari Data Files")
(if archPath
((run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":CalData CalData: *"))
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":spheres CalData: *")))
; else
((run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":CalData CalData: *"))
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":spheres CalData: *")))
; -mn means no confirmation messages or progress indicator.
)
(working "\nUnpacking archive of\n"
"Caligari Rendition Renderer")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":Rend_null RenditionDD: *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":Rend_null RenditionDD: *"))
; -mn means no confirmation messages or progress indicator.
)
(working "\nUnpacking archive of\n"
"Caligari Rendition Pipeline")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":Rend_di RenditionDI: *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":Rend_di RenditionDI: *"))
; -mn means no confirmation messages or progress indicator.
)
(working "\nUnpacking archive of\n"
"Caligari Materials")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":Materials CalMaterial: *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":Materials CalMaterial: *"))
; -mn means no confirmation messages or progress indicator.
)
(working "\nUnpacking archive of\n"
"Caligari Sample Objects")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":Objects CalScenes: *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":Objects CalScenes: *"))
; -mn means no confirmation messages or progress indicator.
)
(working "\nUnpacking archive of\n"
"Caligari Euro 2D polygon font")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":eurofont Caligari:eurofont/ *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":eurofont Caligari:eurofont/ *"))
; -mn means no confirmation messages or progress indicator.
)
(if (askbool (prompt "Do you want to install the Caligari video.font?")
(help "During animation preview playback, Caligari "
"displays frame number and function information "
"on screen in a special font. If this font is not "
"installed, Caligari will use the standard Amiga "
"system font (which looks pretty small...)."
)
(default "Yes")
(choices "Yes" "No"))
(
(working "\nUnpacking archive of\n"
"Caligari Video bitmap font")
(if archPath
((run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":fonts1 FONTS: *"))
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":fonts2 FONTS:video/ *")))
; else
((run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":fonts1 FONTS: *"))
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":fonts2 FONTS:video/ *")))
; -mn means no confirmation messages or progress indicator.
)
))
(if (askbool (prompt "Do you want to install the HAME libraries?")
(help "In order to use the HAME device with Caligari, "
"you need to install the HAME libraries. If you "
"don't have a HAME, don't know what one is or "
"have already installed BOTH HAME libraries, you "
"can say No."
)
(default "Yes")
(choices "Yes" "No"))
(
(working "\nUnpacking archive of\n"
"HAME libraries")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":libs LIBS: hame.library renderhame.library"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":libs LIBS: hame.library renderhame.library"))
; -mn means no confirmation messages or progress indicator.
)
))
(if (askbool (prompt "Do you want to install the DCTV library?")
(help "In order to use DCTV with Caligari, you need "
"to install the DCTV.library. If you don't "
"have DCTV, don't know what it is or have "
"already installed the DCTV library, you "
"can say No."
)
(default "Yes")
(choices "Yes" "No"))
(
(working "\nUnpacking archive of\n"
"DCTV.library")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":libs LIBS: dctv.library"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":libs LIBS: dctv.library"))
; -mn means no confirmation messages or progress indicator.
)
))
(set mods_ok 1)
(if (= @user-level 1) ; average users aren't prompted by (startup...)
(set mods_ok
(askbool (help "Answering 'Yes' means that it is "
"okay for the Installer to modify your "
"startup procedure (s:user-startup and "
"s:startup-sequence, if appropriate) so "
"that the Caligari software works properly. "
"In this case, there are 11 "
"ASSIGN commands which the Caligari package "
"requires. To use Caligari, these commands "
"must be given every time you boot your "
"Amiga. It is recommended to add these lines. "
"These are as follows:\n\n" cal_assigns
)
(prompt "Is it okay to add a few lines at the "
"end of your startup procedure so that "
"the system has the proper Assigns for "
"the Caligari package? Press HELP "
"for more details.")
(default 1)
)))
(if mods_ok
(startup "Caligari2"
(prompt "Is it okay to add a few lines at the "
"end of your startup file, s:user-startup, so "
"that the system has the proper Assigns for "
"the Caligari package? Press HELP "
"for more details."
)
(help "Caligari won't work properly without the following assigns:\n\n"
cal_assigns
"\n\nIf these lines are not added, "
"you will need to click on the file 'Caligari:Caligari-Setup' "
"each time you boot your machine, before you start using "
"the Caligari software."
)
(command cal_assigns)
)
( ; else
(message "You will need to click on the file 'Caligari:Caligari-Setup' "
"each time you start your machine, when you want to use "
"the Caligari software.")
)
) ; mods_ok
; Update "Caligari-Setup"
(textfile (dest "Caligari:Caligari-Setup")
(append cal_assigns)
(help "Currently updating 'Caligari:Caligari-Setup' so that "
"it will contain the proper assigns and Caligari will "
"be properly set up when the setup is executed. This "
"operation is highly recommended.")
(prompt "Currently updating 'Caligari:Caligari-Setup' so that "
"the commands are customized to your installation.")
) ; textfile
)
;;;;;;
;;;;;; Install to Floppy
;;;;;;
(
(askdisk (prompt "Please insert a newly formatted disk named\n"
"'" cal_drv "' in any drive. To format a disk,\n"
"you can select the icon of the disk you wish\n"
"to format and select the 'Format' or\n"
"'Initialize' option from the Workbench menus.\n"
"You do not need to exit the Installer to\n"
"format the disk, simply move the Installer\n"
"window to the side and you should have easy\n"
"access to the Workbench. Don't forget to\n"
"rename the disk from the Workbench menus after\n"
"formatting it!\n"
"For more information, please see your Amiga\n"
"owners' manual")
(dest cal_drv)
(help @askdisk-help))
(askdisk (prompt "Please insert disk 1, \n'" cal_dskname1 "'")
(dest cal_volname1)
(help @askdisk-help))
; Create main directory...
(set cal_dst (tackon cal_drv2 "Caligari"))
(makedir cal_dst (prompt (cat "Creating" cal_dst))
(infos) (help @makedir-help))
; Create CalData directory...
(makedir (tackon cal_dst cal_data) (prompt (cat "Creating" (tackon cal_dst cal_data)))
(help @makedir-help))
; Create Scratch directory...
(makedir (tackon cal_dst cal_scratch) (prompt (cat "Creating" (tackon cal_dst cal_scratch)))
(help @makedir-help))
; Create Materials directory...
(makedir (tackon cal_dst cal_material) (prompt (cat "Creating" (tackon cal_dst cal_material)))
(help @makedir-help))
; Create Textures directory...
(makedir (tackon cal_dst cal_texture) (prompt (cat "Creating" (tackon cal_dst cal_texture)))
(help @makedir-help))
; Create Environments directory...
(makedir (tackon cal_dst cal_environ) (prompt (cat "Creating" (tackon cal_dst cal_environ)))
(help @makedir-help))
; Create Rend_null directory...
(makedir (tackon cal_dst cal_rendnull) (prompt (cat "Creating" (tackon cal_dst cal_rendnull)))
(help @makedir-help))
; Create Rend_di directory...
(makedir (tackon cal_dst cal_renddi) (prompt (cat "Creating" (tackon cal_dst cal_renddi)))
(help @makedir-help))
; Create eurofont directory...
(makedir (tackon cal_dst cal_eurofont) (prompt (cat "Creating" (tackon cal_dst cal_eurofont)))
(help @makedir-help))
; Assigns for user-startup / startup-sequence / temp execute file
; There are eleven of 'em...
(set cal_assigns (cat
".bra {\n"
".ket }\n"
"if exists \"" cal_dst "\"\n"
" assign Caligari: \"" cal_dst "\"\n"
" assign CalData: Caligari:CalData\n"
" assign CalScripts: Caligari:\n"
" assign CalScenes: Caligari:\n"
" assign CalRender: Caligari:\n"
" assign CalTexture: Caligari:Textures\n"
" assign CalEnviron: Caligari:Environments\n"
" assign CalMaterial: Caligari:Materials\n"
" assign CalScratch: Caligari:Scratch\n"
" assign RenditionDI: Caligari:Rend_DI\n"
" assign RenditionDD: Caligari:Rend_Null\n"
"endif\n"
))
; Don't try to assign stuff to directories that won't exist
; in pretend mode, though...
(if (not @pretend)
(
(textfile (dest cal_tmpfile)
(append cal_assigns)
(help @textfile-help)
(prompt "Creating temporary file for needed assigns"))
(execute cal_tmpfile
(prompt "Executing temporary file for needed assigns")
(help @execute-help))
)
)
(askdisk (prompt "Please insert disk 1, \n'" cal_dskname1 "'")
(dest cal_volname1)
(help @askdisk-help))
(working "\nUnpacking archive of\n"
"Caligari Executable")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname1 ":Caligari Caligari: *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname1 ":Caligari Caligari: *"))
; -mn means no confirmation messages or progress indicator.
)
(askdisk (prompt "Please insert disk 2, \n'" cal_dskname2 "'")
(dest cal_volname2)
(help @askdisk-help))
(working "\nUnpacking archive of\n"
"Caligari Data Files")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":CalData CalData: *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":CalData CalData: *"))
; -mn means no confirmation messages or progress indicator.
)
(working "\nUnpacking archive of\n"
"Caligari Sample Objects")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":Objects CalScenes: tricycle.sobj robie.sobj stapler.sobj jar.sobj gasket.sobj"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":Objects CalScenes: tricycle.sobj robie.sobj stapler.sobj jar.sobj gasket.sobj"))
; -mn means no confirmation messages or progress indicator.
)
(working "\nUnpacking archive of\n"
"Caligari Euro 2D polygon font")
(if archPath
(run (cat (tackon archPath archiver) " >nil: -mn x " cal_volname2 ":eurofont Caligari:eurofont/ *"))
; else
(run (cat cal_volname1 ":c/" archiver " >nil: -mn x " cal_volname2 ":eurofont Caligari:eurofont/ *"))
; -mn means no confirmation messages or progress indicator.
)
(message "You will need to click on the file 'Caligari:Caligari-Setup' "
"each time you start your machine, when you want to use "
"the Caligari software.")
)
)
; Caligari hard disk ========================================================
; Remove temporary assign file.
(if (exists cal_tmpfile)
(delete cal_tmpfile (prompt "Deleting temporary assign file")
(help @delete-help)))
; If our archiver wound up in ram:, delete it.
(if (exists (tackon archDest archiver))
(delete (tackon archDest archiver)
(prompt "Deleting temporary file in " archDest ".")
(help @delete-help)))
; This bit must go last---its purpose in life is to inform the user
; where all the software wound up. Since that can be in over four
; different places, we're going to have to make @default-dest unusable
; for anything else, just to get the message across...
(set @default-dest look_here)